home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor1 / eigen.src < prev    next >
Text File  |  1991-05-29  |  1KB  |  68 lines

  1. %%HP: T(3)F(.);
  2. @ by Ted A Smith
  3. DIR
  4.   Eigen
  5.     \<< DUP IDN SWAP
  6.         DUP SIZE 1 GET \-> d
  7.       \<<
  8.         DO OVER
  9.           SWAP 1 d 1 -
  10.           FOR i i 1 + d
  11.             FOR j
  12.               DUP { j j } GET OVER { i i } GET -
  13.               OVER { i j } GET 3 PICK { j i } GET +
  14.               IF DUP
  15.               THEN
  16.                 /
  17.                 IF DUP
  18.                 THEN
  19.                   DUP SIGN SWAP ABS DUP SQ 1 + \v/ + /
  20.                 ELSE
  21.                   DROP 1
  22.                 END
  23.                 DUP SQ 1 + \v/ INV SWAP OVER * DUP NEG 4 PICK IDN
  24.                 { j i } ROT PUT { i j } ROT PUT { i i }
  25.                 3 PICK PUT { j j } ROT PUT
  26.                 ROT OVER * OVER TRN 4 ROLL * ROT *
  27.               ELSE
  28.                 DROP2
  29.               END
  30.             NEXT
  31.           NEXT
  32.         UNTIL
  33.           ROT 3 PICK SAME
  34.         END 1 d
  35.         FOR i 1 d
  36.           FOR j
  37.             IF i j SAME NOT
  38.             THEN
  39.               { i j } 0 PUT
  40.             END
  41.           NEXT
  42.         NEXT
  43.       \>>
  44.     \>>
  45.   EFun
  46.     \<< \-> f
  47.       \<< Eigen 1 OVER SIZE 1 GET
  48.         FOR i
  49.           { i i } DUP2 GET f EVAL PUT
  50.         NEXT
  51.         OVER TRN * *
  52.       \>>
  53.     \>>
  54.   EClr
  55.     \<< DUP SIZE 1 GET \-> d
  56.       \<< 1 d
  57.         FOR i 1 d
  58.           FOR j
  59.             IF i j SAME NOT
  60.             THEN
  61.               { i j } 0 PUT
  62.             END
  63.           NEXT
  64.         NEXT
  65.       \>>
  66.     \>>
  67. END
  68.